package com.linxuan.reggie.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * Dish实体类和数据库中dish表进行映射，配置文件中已经开启了驼峰命名
 * 实现Serializable接口代表该类可以被序列化和反序列化，可以被持久化和网络传输。
 */
@Data
public class Dish implements Serializable {

    // Java的序列化机制通过在运行时判断类的serialVersionUID来验证版本一致性。
    private static final long serialVersionUID = 1L;

    // ID主键
    private Long id;
    // 菜品名称
    private String name;
    // 菜品所属分类id
    private Long categoryId;
    // 菜品价格
    private BigDecimal price;
    // 商品码
    private String code;
    // 图片
    private String image;
    // 描述信息
    private String description;
    // 0 停售 1 起售
    private Integer status;
    // 顺序
    private Integer sort;

    // MP字段自动填充
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
    @TableField(fill = FieldFill.INSERT)
    private Long createUser;
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Long updateUser;

    // 是否删除
    private Integer isDeleted;
}